package cn.melonlib.cores.aop.anno;

import java.lang.annotation.*;

/**
 * AOP切入点
 */
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Target(ElementType.METHOD)
public @interface CustomAopPoint {



    /**
     * 执行之前调用
     * @return
     */
    CustomAopAction [] before() default {};

    /**
     * 前置调用方法，只是当前对象this
     * @return
     */
    String [] beforeMethods() default {};

    /**
     * 执行之后调用
     * @return
     */
    CustomAopAction [] post() default {};

    /**
     *后置调用方法，只是当前对象this
     * @return
     */
    String [] postMethods() default {};
}
